//package com.chunxuan.langquan.ui.activity.live;
//
//import android.app.AlertDialog;
//import android.content.Context;
//import android.content.DialogInterface;
//import android.content.Intent;
//import android.graphics.drawable.AnimationDrawable;
//import android.net.Uri;
//import android.os.Bundle;
//import android.util.Log;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.ViewGroup;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.TextView;
//import android.widget.Toast;
//
//import androidx.annotation.NonNull;
//import androidx.appcompat.app.AppCompatActivity;
//import androidx.recyclerview.widget.LinearLayoutManager;
//import androidx.recyclerview.widget.RecyclerView;
//
//import com.chunxuan.langquan.R;
//import com.chunxuan.langquan.ui.activity.store.adapter.BaseAdapter;
//import com.chunxuan.langquan.ui.activity.store.adapter.BaseViewHolder;
//import com.m7.imkfsdk.utils.ToastUtils;
//import com.tencent.rtmp.ITXLivePlayListener;
//import com.tencent.rtmp.TXLiveConstants;
//import com.tencent.rtmp.TXLivePlayConfig;
//import com.tencent.rtmp.TXLivePlayer;
//import com.tencent.rtmp.ui.TXCloudVideoView;
//
//import java.nio.charset.StandardCharsets;
//import java.util.ArrayList;
//import java.util.List;
//
//public class LiveRoomActivity1 extends AppCompatActivity {
//    private EditText et;
//    private ImageView ivPlay;
//    private TXLivePlayer mLivePlayer;               //直播拉流的视频播放器
//    private TXLivePlayConfig mPlayerConfig;             //TXLivePlayer 播放配置项
//    private TXCloudVideoView mVideoView;
//    private ImageView mImageLoading;          //显示视频缓冲动画
//    private boolean mIsPlaying = false;
//    private EditText etLiveUrl;
//    private RecyclerView rlv;
//    private Adapter mAdapter;
//    private TextView tvSend;
//    private List<String> mStringList = new ArrayList<>();
//
//    public static void actionStart(Context context) {
//        Intent intent = new Intent(context, LiveRoomActivity1.class);
//        context.startActivity(intent);
//    }
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_live_room);
//        et = findViewById(R.id.et_chat);
//        etLiveUrl = findViewById(R.id.et_live_url);
//        rlv = findViewById(R.id.rlv);
//        tvSend = findViewById(R.id.tv_send);
//        mAdapter = new Adapter();
//        rlv.setLayoutManager(new LinearLayoutManager(this));
//        rlv.setAdapter(mAdapter);
//        mAdapter.setDatas(mStringList);
//        tvSend.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if (et.getText().toString().isEmpty()) {
//                } else {
//                    mAdapter.addItem(et.getText().toString());
//                    et.setText("");
//                }
//            }
//        });
//        initialize();
//
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        destroy();
//    }
//
//    private void initialize() {
//        initPlayView();
//        initPlayButton();
//        initNavigationBack();
//        // 初始化完成之后自动播放
//        startPlay();
//    }
//
//    private void initPlayView() {
//        mVideoView = (TXCloudVideoView) findViewById(R.id.video_view);
//        mPlayerConfig = new TXLivePlayConfig();
//        mLivePlayer = new TXLivePlayer(this);
//        mImageLoading = (ImageView) findViewById(R.id.liveplayer_iv_loading);
//    }
//
//    private void initPlayButton() {
//        ivPlay = (ImageView) findViewById(R.id.iv_play);
//        ivPlay.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                togglePlay();
//            }
//        });
//    }
//
//    private void togglePlay() {
//        if (mIsPlaying) {
//            stopPlay();
//        } else {
//            startPlay();
//        }
//    }
//
//    private void initNavigationBack() {
//        findViewById(R.id.iv_back).setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                destroy();
//                finish();
//            }
//        });
//    }
//
//
//    public void startPlay() {
//        mLivePlayer.setPlayerView(mVideoView);
//        mLivePlayer.setPlayListener(new ITXLivePlayListener() {
//            @Override
//            public void onPlayEvent(int event, Bundle param) {
//                Log.e("============", event + ":event");
//                switch (event) {
//                    case TXLiveConstants.PLAY_EVT_PLAY_BEGIN:
//
//                    case TXLiveConstants.PLAY_EVT_RCV_FIRST_I_FRAME:
//                        stopLoadingAnimation();
//                        break;
//                    case TXLiveConstants.PLAY_EVT_PLAY_LOADING:
//                        startLoadingAnimation();
//                        break;
//                    case TXLiveConstants.PLAY_EVT_CHANGE_RESOLUTION:
//                        break;
//                    case TXLiveConstants.PLAY_EVT_GET_MESSAGE:
//                        byte[] data = param.getByteArray(TXLiveConstants.EVT_GET_MSG);
//                        String seiMessage = "";
//                        if (data != null && data.length > 0) {
//                            try {
//                                seiMessage = new String(data, StandardCharsets.UTF_8);
//                            } catch (Exception e) {
//                                e.printStackTrace();
//                            }
//                        }
//                        Toast.makeText(getApplicationContext(), seiMessage, Toast.LENGTH_SHORT).show();
//                        break;
//                    case TXLiveConstants.PLAY_EVT_CHANGE_ROTATION:
//                        break;
//                    case TXLiveConstants.PLAY_ERR_NET_DISCONNECT:
//                    case TXLiveConstants.PLAY_EVT_PLAY_END:
//                        stopPlay();
//                        break;
//                    default:
//                        break;
//                }
//                if (event < 0) {
//                    Toast.makeText(LiveRoomActivity1.this,
//                            param.getString(TXLiveConstants.EVT_DESCRIPTION), Toast.LENGTH_SHORT).show();
//                }
//            }
//
//            @Override
//            public void onNetStatus(Bundle bundle) {
//
//            }
//        });
//
//
////关键 player 对象与界面 view
//        mLivePlayer.setPlayerView(mVideoView);
//        String flvUrl = "http://2157.liveplay.myqcloud.com/live/2157_xxxx.flv";
//        String rtmpURL = "rtmp://132711.livepush.myqcloud" +
//                ".com/live/teacher?txSecret=6b775c689f6737ef81e0cfe9345cb40a&txTime=605A9645";
//        String playURL = etLiveUrl.getText().toString();
////        String playURL = "http://3891.liveplay.myqcloud.com/live/3891_user_74b85faf_85ae.flv";
//        int code = mLivePlayer.startPlay(playURL.trim(), TXLivePlayer.PLAY_TYPE_LIVE_FLV);
//        mIsPlaying = code == 0;
//        Log.e("code:", "code:" + code);
//        //处理UI相关操作
//        onPlayStart(code);
//    }
//
//    @Override
//    public void onBackPressed() {
//        stopPlay();
//        super.onBackPressed();
//    }
//
//    private void stopPlay() {
//        if (!mIsPlaying) {
//            return;
//        }
//        if (mLivePlayer != null) {
//            mLivePlayer.stopRecord();
//            mLivePlayer.setPlayListener(null);
//            mLivePlayer.stopPlay(true);
//        }
//        mIsPlaying = false;
//
//        //处理UI相关操作
//        onPlayStop();
//    }
//
//    public void onPlayStop() {
//        ivPlay.setBackgroundResource(R.drawable.live_icon_livepusher_start);
//        stopLoadingAnimation();
//    }
//
//    public void onPlayStart(int code) {
//        Log.e("设置背景", "onPlayStart");
//        switch (code) {
//            case Constants.PLAY_STATUS_SUCCESS:
//                startLoadingAnimation();
//                break;
//            case Constants.PLAY_STATUS_INVALID_SECRET_RTMP_URL:
//                new AlertDialog.Builder(this)
//                        .setTitle("播放出错")
//                        .setMessage("请检查地址")
//                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
//                            @Override
//                            public void onClick(DialogInterface dialog, int which) {
//                                dialog.dismiss();
//                            }
//                        }).setPositiveButton("确认", new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//                        Uri uri = Uri.parse(Constants.LIVE_PLAYER_REAL_TIME_PLAY_DOCUMENT_URL);
//                        startActivity(new Intent(Intent.ACTION_VIEW, uri));
//                        dialog.dismiss();
//                    }
//                }).show();
//                break;
//            default:
//                break;
//        }
//        if (code != Constants.PLAY_STATUS_SUCCESS) {
//            ivPlay.setBackgroundResource(R.drawable.live_icon_livepusher_start);
//            ToastUtils.showShort(this, "播放失败");
//        } else {
//            Log.e("设置背景", "====");
//            ivPlay.setBackgroundResource(R.drawable.live_icon_livepusher_pause);
//        }
//
//    }
//
//    private void startLoadingAnimation() {
//        if (mImageLoading != null) {
//            mImageLoading.setVisibility(View.VISIBLE);
//            ((AnimationDrawable) mImageLoading.getDrawable()).start();
//        }
//    }
//
//    private void stopLoadingAnimation() {
//        if (mImageLoading != null) {
//            mImageLoading.setVisibility(View.GONE);
//            ((AnimationDrawable) mImageLoading.getDrawable()).stop();
//        }
//    }
//
//    private void destroy() {
//        if (mLivePlayer != null) {
//            mLivePlayer.stopPlay(true);
//            mLivePlayer = null;
//        }
//        if (mVideoView != null) {
//            mVideoView.onDestroy();
//            mVideoView = null;
//        }
//        mPlayerConfig = null;
//    }
//
//    static class Adapter extends BaseAdapter<String> {
//
//        @NonNull
//        @Override
//        public BaseViewHolder<String> onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
//            LayoutInflater inflater = LayoutInflater.from(parent.getContext());
//            View view = inflater.inflate(R.layout.item_live_room, parent, false);
//            ViewHolder viewHolder = new ViewHolder(view);
//            return viewHolder;
//        }
//    }
//
//    static class ViewHolder extends BaseViewHolder<String> {
//        TextView tv;
//
//        public ViewHolder(@NonNull View itemView) {
//            super(itemView);
//            tv = itemView.findViewById(R.id.tv_content);
//        }
//
//        @Override
//        public void bindViewHolder(String value) {
//            tv.setText(value);
//        }
//    }
//}